通过Runnable创建线程
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
创建一个线程最简单的方法是创建一个实现Runnable接口的类。
我们通过如下步骤创建线程类:
第一步:
实现Runnable接口的run()
方法,该方法是线程执行的入口点,你需要将业务逻辑写在该方法中,该方法的语法如下:
public void run();
第二步:
你需要通过下面的构造函数实例化一个Thread对象:
Thread(Runnable threadObj, String threadName);
这里,threadObj
是一个实现Runnable接口类的实例,threadName
则对应线程的名字。
第三步:
一旦Thread对象创建完成,我们就可以通过调用它的start()方法启动线程了,它将自动调用我们之前写的run()方法,以下是start()方法的语法:
void start();
下面是创建线程的完整示例:
class MyThread implements Runnable {
public void run() {
try {
for(int i = 4; i > 0; i--) {
System.out.println("子线程: " + i);
// 暂停线程
Thread.sleep(50);
}
} catch (InterruptedException e) {
System.out.println("子线程中断");
}
System.out.println("子线程结束");
}
}
public class MyThreadTest {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
Thread thread = new Thread(new MyThread());
thread.start();
}
System.out.println("主线程结束");
}
}
编译以上程序运行结果如下:
子线程: 4
子线程: 4
子线程: 4
子线程: 4
主线程结束
子线程: 4
子线程: 3
子线程: 3
子线程: 3
子线程: 3
子线程: 3
子线程: 2
子线程: 2
子线程: 2
子线程: 2
子线程: 2
子线程: 1
子线程: 1
子线程: 1
子线程: 1
子线程: 1
子线程结束
子线程结束
子线程结束
子线程结束
子线程结束
在线练习
{$ activeFileHint $}